﻿/* ----------------------------------------------------------------------------
 * Copyright (c) Rob Ashton 2009
 *
 * This source code is subject to terms and conditions of the Microsoft Public 
 * License (Ms-PL).
 * 
 * By using this source code in any fashion, you are agreeing to be bound 
 * by the terms of the Microsoft Public License.
 * 
 * To request a copy of the Microsoft Public License, send a request by email
 * to license@mvcex.com
 *
 * This notice must not be removed from this software.
 * ---------------------------------------------------------------------------- */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace MvcEx.Controllers
{
    public class MvcExControllerBuilderConfiguration
    {
        private List<Assembly> mAssemblies = new List<Assembly>();

        /// <summary>
        /// Gets or Sets an identifier the builder will use for naming types/modules/assemblies (Useful for debugging purposes)
        /// </summary>
        public String BuilderIdentifier
        {
            get;
            set;
        }

        public Assembly[] Assemblies
        {
            get
            {
                return mAssemblies.ToArray();
            }
        }

        public void RegisterAssembly(Assembly assembly)
        {
            mAssemblies.Add(assembly);
        }

        public void UnregisterAssembly(Assembly assembly)
        {
            mAssemblies.Remove(assembly);
        }
    }
}
